package com.designMode.prototype;

public class ResumeTest {
	public static void main(String[] args) {
		Resume resume = new Resume();
		//测试clone不会类加载,因此不会再次调用constructor
		Resume resumeClone = resume.clone();



		new Zi().test();

	}
}

/**
 * 简历
 */
class Resume implements Cloneable {
	private Integer id=1;

	public Resume() {
		System.out.println("write a resume..");
	}


	/*
	ctrl O 重写方法,clone是Object类中protected方法(但是没有实现.),在上面test类中调用不了clone()???,提升为public,那为啥子类的test()可以调用???
	当然如果还记得override方法的两小一大,可以再修改返回
	 */
	@Override
	public Resume clone() {
		try {
			//内部的数组和引用对象不会拷贝，其他的原始基本类型和String类型会被拷贝!!!!!!!!!!!!!!!!!!!!!
			return (Resume) super.clone();
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
			return null;
		}
	}
}

class Fu {
	public Fu() {
	}

	protected void test() {
		System.out.println(666666);

	}
}

class Zi extends Fu {

}